import axios from "axios";
// import { Toast } from 'antd-mobile'
import AsyncStorage from '@react-native-async-storage/async-storage';

let opt = {}
let userInfo;
if (process.env.NODE_ENV == 'development') {
    opt = {
        baseURL: 'https://cnodejs.org/api/v1',
        timeout: 3000,
    }
} else if (process.env.NODE_ENV == 'production') {
    opt = {
        baseURL: 'https://baidu.com',
        timeout: 3000,
    }
}

//这是一个新实例化的axios对象，在这个文件里对其进行配置，最后再导出去
let Axios = axios.create(opt);

// 添加请求拦截器
Axios.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    // console.log('请求拦截');
    // const userInfo = '123';
    async () => {
        try {
            userInfo = await AsyncStorage.getItem('@storage_Key')
            if (userInfo !== null) {
                console.log('获取到本地存储');
                // navigation.navigate('Root')
            } else {
                console.log('无本地存储');
            }
        } catch (e) {
            console.log(e);
        }
    }
    const token = userInfo;
    config.headers['Authorization'] = token;   //这样就可以在所有的请求头里都加上token了
    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 添加响应拦截器
Axios.interceptors.response.use(function (response) {
    // 对响应数据做点什么,相当于对返回的内容做一个处理
    if (response.status == 200) {
        return response.data;
    }

}, function (error) {
    return Promise.reject(error);
});
export default Axios;